"""
之前的介绍, 都是围绕着fixture的 前置动作

实际上, fixture还支持 后置处理

同样的, 书接上面

我们为每个用例函数都预先初始化了数据库连接
但我们同时希望, 用例执行结束后, 我们要关闭数据库连接
我们总不能在最后一条用例去做这件事情, 因为这是不容易维护的, 也是违背了我们的意愿
所以, 我们还是得从fixture下手

实际上 实现这个需求, 我们只需要把 return 换成 yield
"""
import pytest

@pytest.fixture(scope="module", autouse=True)
def before():
    connectObj = "连接连接"  # 假设这是连接数据库后的实例对象
    print("---------> 数据库已连接")
    yield connectObj  # 将return 换成 yield
    print("---------> 数据库已关闭连接")

class TestCase():

    def test_a(self, before):
        print(f"------->test_a")
        print(f"------->我要用你了哦 {before}")

    def test_b(self, before):
        print(f"------->test_b")
        print(f"------->我要用你了哦 {before}")

class TestCase2():

    def test_a(self):
        print(f"------->test_a")

    def test_b(self):
        print(f"------->test_b")

    def test_c(self):
        print(f"------->test_c")


if __name__ == '__main__':
    pytest.main(['-s', '-v', __file__])